This command compares the contents of two text files. This tutorial describes how to compare strings in Bash. Diff command to Compare two files in Linux. 3a4 means after line 3 line 4 is added; We change file and compare again with . Hey, SR. How to compare two text files on Linux Terminal diff is a command-line utility that allows you to compare two files line by line. ## I need to compare the two files and have the output ## be files in FileListing.txt and not in BackedUpFiles.txt ## I tried using File::compare, but there didn't seem to ## be a way to output the differences. 6 ways to compare two files on Linux - Monica Granbois The diff command is most commonly used to create a patch containing the differences between one or more files that can be applied using the patch command.. How to Use the diff Command #. I like to compare two text files and save the difference under linux. sdiff command in Linux with Examples - GeeksforGeeks --from-file=FILE1 Compare FILE1 to all operands. One set of objects is the "reference set," and the other set is the "difference set.". Diff command is available on almost all Linux distributions by default & can be used directly without any packages installation. When sdiff is invoked without the -output (-o) option it produces a side-by-side difference. --to-file=FILE2 Compare all operands . file-report layout:side-by-side output-to:c:\report.html output-options:html-color c:\file1.txt c:\file2.txt To run the script, use the command line: "c:\program files (x86)\beyond compare 3\bcompare.exe" "@c:\script.txt" The @ character makes Beyond Compare . Diff command is the most commonly used command when it comes to comparing two files. fc.exe filea.txt fileb.txt > diff.txt fc is an alias for the Format-Custom cmdlet so be sure to enter the command as fc.exe.Please note that many DOS utilities don't handle UTF-8 encoding. Editors emacs. It offers several command-line options. This document covers the GNU/Linux version of cmp. . diff, diffh, bdiff -- compare two text files and show ... For text files, the diff command by default uses a format that shows the differences using < and > characters to represent the first and second of the two files and designations like 1c1 or 8d7 to . How do you compare two similar files to check for differences? How to Compare Two Text Files in the Linux Terminal Diffuse. sdiff - Unix, Linux Command You can provide one or more properties to be used for . Simple way to compare files in Linux for differences ... How Can I Compare the Contents of Two Text Files ... How to Compare Two Files in Linux Hi experts, I am trying to compare two text files and output the difference to another file. If a file is found in DIR that is identical to the sender's file, the file will NOT . Diff command is the most commonly used command when it comes to comparing two files. The simplest form of the diff command is as follows: diff file1 file2. Type diff, a space, the name of the first file, a space, the name of the second file, and then press Enter. Compare-Object checks for available methods of comparing a whole object. Just select first/original file in left window and second/modified file in right window. The obvious answer is to use the diff command in Linux. The diff command compares two text files and creates a list of differences between the two files. For example, use the fc /b command to compare two binary files. Alternatively you can also copy and paste directly into left and right windows. By default, diff notices any differences between the two text files, no matter how small. It displays greater than sign if the line only exists in the file specified by the File2 parameter, and a | (vertical bar) for lines that are different. Knowing this you will understand the diff command output more easily. Call the Add () method with the target DOCX file to add to the comparison. The command you'll want to do is diff File_1.txt File_2.txt which will output the difference between the two and should look something like this:. How do I Compare two files under Linux or UNIX? Linux provides several tools for doing this, depending on how deep a comparison you need to make. The tool of choice for this task is diff. ; Open both files in r (read) mode and store their references in fPtr1 and fPtr2. Logic to compare two files. Red characters are differences, and the blue background indicates that there is a difference in that line. This article will show you how to use it, with some examples of common usage. As a result, it is more useful than 'diff' for comparing binary files. The sdiff command does a side by side merge of file difference. Red characters are differences, and the blue background indicates that there is a difference in that line. To be more precise, it creates a list of changes in the first file to match the second file. Features: • Auto-merge is supported. I need a Windows tool which can compare 2 files in .txt format and output the difference. JW, that is all there is to using Windows PowerShell to compare two files. It normally outputs 3 columns - from man comm: With no options, produce three-column output. Click on the other drop-down menu to select a second file for comparison. The diff command is an easy way to compare files or directories from the Linux shell. Editors emacs. The name is short for "difference".The output tells you the steps you need to follow in order to change the first file to make it match the second file. 7. Column one contains lines unique to FILE1, column two contains lines unique to FILE2, and column three contains lines common to both files. 0. . From the man page: --compare-dest=DIR - This option instructs rsync to use DIR on the destination machine as an additional hierarchy to compare destination files against doing transfers (if the files are missing in the destination directory). File and directories comparator and merge tool. /A - This switch will make FC show only the first and last lines for each group of differences. • Windows Explorer/browser integration available. For text files, the diff command by default uses a format that shows the differences using < and > characters to represent the first and second of the two files and designations like 1c1 or 8d7 to . Explanation of the diff command output. If there is no output after diff operation this means that there is no difference between files. After that click on Find Difference button to find diff. • Differences are printed. Overview of Unix File Comparison Commands : In this tutorial, we will cover the different ways involved for comparing two files. Diff command to Compare two files in Linux. ; Define a function int compareFile(FILE * fPtr1, FILE . Find Difference. Compare two zip files for differences. Basic Input Output, Pointers, String, File Handling,. The diff command is available by default on the Mac, and it works the same in Linux and other unix operating systems as well, just in care you were wondering, and for Windows users it's quite similar to how the 'fc . Click on one to select a file for comparison. The diff command compares two text files and creates a list of differences between the two files. PS> compare-object $ (Get-Content K:\old-roles.csv) $ (Get-content K:\new-roles.csv) -includeequal. From Microsoft: The Compare-Object cmdlet compares two sets of objects. Objective 2: Find what is missing in either file. If we simply want to ignore the first column, we can use one of the following cut constructs. The file comparison command helps us to compare the files and find the similarities and differences between these files. I know there are tools like kdiff, diff vimdiff etc. Example below: Text1.txt Apple Orange Banana Text2.txt Apple Orange Banana Lemon Output.txt Lemon So how could I do this in Windows without using that "grep". With diff, you can compare two files line by line. We create two text files in the Documents folder in Ubuntu 20.04 with the name i.e. The command used in Linux to show the differences between two files is called the diff command. -X FILE --exclude-from=FILE Exclude files that match any pattern in FILE. Your original script reads in the complete file, and then compares it line-by-line, so it is much less efficient. 5. Or you could use the DOS fc command like so (This shows the output of both files so you will have to scan for the differences):. 1.7 Binary Files and Forcing Text Comparisons. For text files, 'cmp' is useful mainly when you want to know only whether two files are identical. Look into the diff command. I have to compare two files for any differences, then output the lab and question number for any differences. Learn how to display files side by side in Linux. And we want to compare two files ignoring a specific column. Both files contain the phonetic alphabet but the second file, alpha2, has had some further editing so that the two files are not identical. Compare Strings in Linux Shell Script. Troubleshooting Week will continue tomorrow when I will talk about more cool . To make file2 match file1, follow them in reverse and swap "d" for "a." When you compare two text files, it's possible that diff will not find any differences. 6. -x PAT --exclude=PAT Exclude files that match PAT. On Unix-like operating systems, the cmp command is used to compare two files byte by byte. Get Desktop. You can select a document that is saved as a file. In the command, replace filename1.txt and filename2.txt for the name of the files you want . The problem is that not everyone would be comfortable comparing files in Linux terminal. To compare two files in the emacs editor use the following . xxdiff. Click the "Compare" button. Use --compare-dest. diff -y file1 file2 should be used instead. You need to use diff command to display line-by-line difference between two files. File Compare's Switches and Parameters /B - This switch will perform a binary comparison. Why would you want to compare files or directories? KDiff3 is a cross-platform diff and merge tool and works on Linux, macOS and Windows. Type the following command to compare two similar files and press Enter: fc filename1.txt filename2.txt. Or you could use the DOS fc command like so (This shows the output of both files so you will have to scan for the differences):. Compare Two or More Word Documents using C#. Example in this article: Take 2 text file as input i.e. how to compare two pipe delimited text files, find out the difference and copy the output to third file using linux script. Plus this operation simply obtains the file hashes, and compares the two hashes. To compare two files in the emacs editor use the following . Some lines may exist in file2.txt that arent in file1.txt. Example 1: To Compare Two Files, and List Their Differences. EXAMPLES. If you require a comprehensive result file, The first option in Options->Configuration->Backup & Save, the side-by-side result, will output the compare result file much like the compare window you see in UltraCompare Professional. Your data will automatically be extracted. Opens a new Folder Compare view with the specified base folders. Hello, I'm needing a little help creating a powershell script that will compare two csv files, and identify the differences specific to each file. For doing strings comparisons, parameters used are. Start by opening PowerShell: a quick way to do it is to press the Win + X keys on your keyboard simultaneously, and then press I if you want to run PowerShell as a standard user, or A if you want to run it as an administrator. If no differences are found, by default, cmp returns no output. For example: BCompare.exe "C:\ Left Folder" "C:\ Right Folder " Pair of files. Diff allows you to easily compare two files, with the command output reporting back any differences between the inputted files. sdiff. Apart from comparing files' or folders' contents, you can open an empty Differences Viewer and paste any text or drag files into the right and left panels to compare. When comparing strings in Bash you can use the following operators: This can be useful, for example, if you want to compare an application's console output with the output of the same application albeit a little modified. To compare the files, use the compare-object cmdlet. In this article, we will understand the usage of diff3 command through some examples. As you already know, Linux diff command compares two files. The sdiff command does a side by side merge of file difference. Windows users have the option of relying on the operating system's integrated command . When you compare two computer files on Linux, the difference between their contents is called a diff. Click on the other drop-down menu to select a second file for comparison. The diff command performs a line-by-line comparison of two files or directories and outputs the differences between them. Company X Price List: $ 0.39 -- Package of Groat Clusters $ 5.00 -- Candy Apple Sampler Pack $ 12.00 -- Box of Crunchy Frog Chocolates $ 15.99 -- Instant Rain (Just Add Water . If the files are the same, no output displays when using this command. ## I tried using Text::diff, but the app compares each text ## file line per line. Now, we will open the following command in the terminal of Ubuntu 20.04 in order to find out the differences. In this article we will create a simple basic file diff tool/program using Apache commons text library & output diff in HTML. In the case of a raw file, you can copy-paste the text, on the other hand, in case of online content you just had to insert a URL for . With our innovative text compare tool, comparing two documents together to detect similarities is very easy. Lets say the data contains multiple fields/columns separated by space or comma or some other delimiter. When sdiff is invoked without the -output (-o) option it produces a side-by-side difference. Hot Network Questions The most common task involves comparing two text files. However, you can use PowerShell to do so. When creating a bash script, we might also be required to compare two or more strings & comparing strings can be a little tricky. The contents of price1 are as follows: . 7. Get the Diffchecker Desktop app: your diffs never leave your computer! While writing program files or normal text files, programmers and writers sometimes want to know the difference between two files or two versions of the same file. Both commands are run from a command prompt. The first file, inventory-1.txt, contains the following: $ cat inventory-1.txt Optical Mouse 10 Ethernet Cables 33 Total Memory In All The Laptops In Bytes 68,719,441,551 23' Monitors 45 Graphic Cards 61 How can I compare these two files, and output a list of addresses that have no corresponding device to a third text file? For example: BCompare.exe "C:\ Left File.ext" "C:\ Right File.ext" 3 files . The different file comparison commands used in Unix are cmp, comm, diff, dircmp, and uniq. diff only tells me that the two files arent the same, going line by line comparing the differences. diff -y file1 file2 should be used instead. sdiff command in linux is used to compare two files and then writes the results to standard output in a side-by-side format.It displays each line of the two files with a series of spaces between them if the lines are identical. To get differences using the difflib library, we have to call the unified_diff() function to this comparison. You can compare two or more Word documents programmatically by following the simple steps given below: Create an instance of the Comparer class with the source DOCX file path. Syntax for using diff command is, $ diff file1 file2 & it will present differences among the two files as output on the screen. 1. Create your a.csv and b.csv files First command that one can use to compare files in Linux is Diff Command. You can try any of these Using MS Word * Open both CSV in notepad or notepad+. However, this usage is considered depricated. In this output, we see that one line is different. /L - This will compare your files as ASCII text. Step by step descriptive logic to compare two files character by character. Answer (1 of 5): I usually use 2 different methods to manually compare and combine CSV files. I've two inputs (A and B) and would like to compare and update data having A as primary. 'cmp' reports the differences between two files character by character, instead of line by line. If from-file is a directory and to-file is not, sdiff compares the file in from-file whose file name is that of to-file, and vice versa. Unlock all of Diffchecker's advanced features with Diffchecker Pro! However Linux diff3 utility compares three files and is also capable of merging the difference between two files into the third one. Opens the specified files in the associated file view. Side Indicator. 6. If you have a CSV file with single or even multiple columns, you can do these line by line "diff" operations using the sqlite3 embedded db. If the field is null on B, keep A. sdiff. Required knowledge. /C - If you need to do a case insensitive comparison, use this switch. We can compare the files with this command. The next window summarizes any differences found between two files. That is to add "records" to create the 4th line in file 1. This will be used for Active Directory user management, and will either create or disable accounts based on which csv the users appear in. To be more precise, it creates a list of changes in the first file to match the second file. fc.exe filea.txt fileb.txt > diff.txt fc is an alias for the Format-Custom cmdlet so be sure to enter the command as fc.exe.Please note that many DOS utilities don't handle UTF-8 encoding. It comes with python, so should be available on most linux/macs. file-1.txt & file-2.txt; Compare both files using Apache commons text & generate HTML output highlighting differences in both files. Using this free web tool, you can compare any CSV / TSV document easily. var1 = var2 checks if var1 is the same as string var2; var1 != var2 checks if var1 is not the same as var2 You can script the sqlite3 commands on the bash shell without needing to write python. Real-time diff, syntax highlighting, private diffs, export as PDF, and more. but my expectation are as follows. It's a good tool, and you can read all about it by typing man diff into your terminal.. Here Apple is present in the second file (-differenceObject set) not in the first file (-ReferenceObject set) so the output will be => and Guva is present in the first file and not in the second file, so the output will be <=. First is to ignore the provided field/column. Text difference analyzer for up to 3 input files. FILE1 can be a directory. Click on one to select a file for comparison. For the purpose of our examples, let's assume that we have two files. Real tables actually have 75 fields. The Compare-Object cmdlet compares two sets of objects. The following example illustrates the output of the diff command. However, as there are differences, the output is similar to the following: 2,4c2,3. Report when two files are the same. One file contains a list of MAC addresses taken from a network scan; the other contains a list of MAC addresses for our currently-managed devices. Opens a Text Merge view with the specified files in the left, right . Lets divide work in two small issues. You can also spawn a CMD process and run fc within it. It is a file and folder merge tool used to compare and merge two to three files and directoires. We've covered the best console based diff tools in a separate article available here. Click the "Compare" button. You can use Fc.exe to compare two ASCII or binary files on a line-by-line basis. The file difference tool will use one number with no comma if a single line is affected. I have two separate text files. In Linux, you can also use Kompare, a graphical user interface, to see the differences between two files. 0. diff marking each line as old, new, or unchanged. 5. test_file1 and test_file2 having the text shown in the image. The basic syntax of diff3 is : diff3 [OPT This description was born out of a reference to the output of diff, the well . Syntax: unified_diff(file1, file2, fromfile, tofile, lineterm) Parameter: file1: List of String such as file_1_text Choose the text you would like to compare. -S FILE --starting-file=FILE Start with FILE when comparing directories. /U - Use this switch to compare files as Unicode text files. Repeat the above step to add more files in comparison. * Copy the CSV content and paste it to create 2 MS Word files like Doc 1 & Doc 2 * In case of Tab separated values, Go . Let's see the first difference in the output: The line 2 of file 1, CHANGE with line 2 of file 2. The standard Unix tool to compare lists (files) line-by-line is comm. It should also work with large files. In this example, we will compare two files line by line $ diff file1 file2. Output should be in a separate file; The difference should be quoted with colours, ex: delete line in red and added line in green something like that; It should ignore space differences Windows 10 doesn't have a built-in tool for comparing two files. I'd like to know about them as well. How to compare two files using PowerShell. 9. One set of objects is the reference, and the other set of objects is the difference. The most secure way to run Diffchecker. Here's an example script to compare two files and output comparison results as HTML. To compare two files or groups of files at a local site, you can use the Fc.exe and the Comp.exe file compare commands. If a difference is found, it reports the byte and line number where the first difference is found. Two strings are equal when they have the same length and contain the same sequence of characters. KDiff3. NAME sdiff - find differences between two files and merge interactively SYNOPSIS sdiff-o outfile [options] from-file to-file DESCRIPTION The sdiff command merges two files and interactively outputs the results to outfile. This is what I currently have: diff lab2.txt lab2answer.txt > lab2compare.txt Though the output doesn't have to be sent to a .txt (or any sort of log), I found that easier, at least. The general syntax of diff command as follows: FILE1 FILE2: Diff command will examine both file1 and file2 and tells you what changes need to be made for file1 and file2 to match. Hey, Scripting Guy! And the diff command output could be confusing for some. For example: Input A Input B Output - ID and Year are the key fields - I'd like to update Address and Contact. I need to compare line per whole text ## file. Take this diff command output for example: I am creating text files by the name of "test_file_1.txt" and "test_file_2.txt". Comparison Operators # Comparison operators are operators that compare values and return true or false. Compare two PDF files. You might have two files with the same name that look . If it can't find a suitable method, it calls the ToString() methods of the input objects and compares the string results. The syntax for the diff command is as follows: It can also compare the contents of directories. Input file path of two files to compare from user, store it in path1 and path2. DiffPDF. — SR . diff alpha1 alpha2. I'm not strictly looking for differences in text but additional text at the end of one file that isn't in another, so basically comparing the file 2 against file 1 and printing any additional text to file 3. How to Use "diff" Command in Linux to Compare Files: The syntax of the " diff " command is mentioned below: First, create two files. The usage of diff3 command through some examples of common usage Open the cut. ; Define a function int compareFile ( file * fPtr1, file how! The contents of two files methods of comparing a whole object and output a of... First and last lines for each group of differences by default & amp ; file-2.txt ; &... Window and second/modified file in right window sdiff is invoked without the -output ( -o ) option produces... > Nine ways to compare two binary files it in path1 and.... Into file2 by following the instructions as they appear match the second file input file path of files... Find out the differences comparing binary files and find the similarities and differences between two files or directories outputs... Read all about it by typing man diff into your terminal is the reference and! You will understand the usage of diff3 command through some examples 1.7 binary files and Forcing text Comparisons returns! Replace filename1.txt and filename2.txt for the name of & quot ; to create the 4th line in file list changes. No corresponding device to a third text file as input i.e extra line can use to! The above step to add more files in r ( read ) mode and store their in! Unix, Linux command < /a > Required knowledge like kdiff, diff notices any differences found between files. Be confusing for some, find out the differences between two files will be indicated the. I have to compare files as Unicode text files, no matter how small binary.! Show you how to compare two files, no output displays when using this command up 3... One set of objects is the difference between files to use the fc /b command to compare two under. Shows the output of the diff command is the reference, and the diff command output easily! Sets of objects is the difference 10 doesn & # x27 ; t have a built-in tool comparing... Of merging the difference to select a document that is saved as a result, it reports the byte compare two text files and output difference linux... And return true or false by lines records & quot ; test_file_2.txt & quot ; test_file_1.txt & ;... Less efficient options, produce three-column output operating system & # x27 ; no! On B, keep a diff only tells me that the two files describes how to compare files... Output displays when using this command differences, the well specific column ways to compare two binary files Linux! Tool of choice for this task is diff same name that look app: your diffs never leave your!. Output more easily menu to select a second file has one extra line their contents is called the command! S advanced features with Diffchecker compare two text files and output difference linux the problem is that not everyone would comfortable! Outputs the differences between these files unified_diff ( ) function to compare two text files and output difference linux comparison to. Store it in path1 and path2 ; s assume that we have two files how to use command! Files under Linux or Unix command compares the contents of two files them as well be used without. Use it, with some examples -- exclude=PAT Exclude files that match any pattern in file file1. Codeforwin < /a > Required knowledge and Forcing text Comparisons one or more properties to be precise! Without the -output ( -o ) option it produces a side-by-side difference filename1.txt and filename2.txt for name... Try any of these using MS Word * Open both files in the associated file view illustrates the is... ( -o ) option it produces a side-by-side difference following cut constructs a CMD process and run fc within.! How can i compare these two files line by line comparing the differences each! Step by step descriptive logic to compare two files character by character files that are identical, #. Through some examples of common usage would you want to compare from user, store in! //Codeforwin.Org/2018/02/C-Program-Compare-Two-Files.Html '' > C program to compare two binary files on a line-by-line comparison of two files comparison! File-2.Txt ; compare & quot ; compare & quot ; button there is difference... No matter how small -s file -- exclude-from=FILE Exclude files that are identical, & # x27 ; no. File path of two files with the target DOCX file to match the second file for comparison file. Of common usage 1.7 binary files, we see that one line is different String file. -C option these two files and & quot ; compare both files to a third text?! On a line-by-line comparison of two files summarizes any differences, and output a list addresses. Fptr1 and fPtr2 right windows fc within it a separate article available here is saved a... Do a case insensitive comparison, use the diff command output more easily Nine ways to the. Compare and merge two to three files and directoires two computer files on a line-by-line basis by side of. Is invoked without the -output ( -o ) option it produces a side-by-side difference follows. Marking each line as old, new, or unchanged a whole object that is identical to comparison! Form of the diff command in the first file to match the second file for comparison app: your never. See that one line is different this output, Pointers, String file. Confusing for some s advanced features with Diffchecker Pro need is a difference that. Most commonly used command when it comes to comparing two files for any differences found between two.! Left, right each text # # file example, use the following two files description was born of... ; s compare two text files and output difference linux good tool, and uniq use the following cut constructs per whole text #... To create the 4th line in file 1 this screen shot shows the from. Ubuntu 20.04 in order to find diff > cmp - Unix, Linux command /a! To select a second file for comparison diff notices any differences, the and. And differences between them following command in the complete file, and the diff command diff & x27! Tools in a separate article available here real-time diff, the file by. ; means the second file for comparison in that line Linux to show the differences between the two files the. File side by side, and the blue background indicates that there is output! Common task involves comparing two files - Codeforwin < /a > Required knowledge this task is diff - <... Difference is found in DIR that is saved as a file you.! And you can select a second file has one extra line using this command: the Compare-Object compares... Us to compare two files with the specified files in comparison if we simply to! > examples following example illustrates the output of the diff command performs a line-by-line comparison of two files use command. Similar to the sender & # x27 ; ve covered the best based! Same name that look two ASCII or binary files and directoires following two files arent the,. And return true or false ; test_file_1.txt & quot ; test_file_1.txt & quot ; Required knowledge compare two text files and output difference linux Linux or?... Have a built-in tool for comparing binary files simply want to compare two files for any found... Invoked without the use of the files you want to compare two files... Match any pattern in file 1 following the instructions as they appear text merge with... Switch to compare from user, store it in path1 and path2 compare files as Unicode text files, and. Linux script of a reference to the following example illustrates the output to third using. Differences in both files in the associated file view the & quot ; button the... Each group of differences and run fc within it add to the comparison arent the same no. Files arent the same name that look PDF, and the other drop-down menu to select a document that all. Cmp & # x27 ; produces no output displays when using this command the diff command is the commonly. File2 by following the instructions as they appear:diff, but the app compares text... Files and directoires could be confusing for some //www.networkworld.com/article/3190407/nine-ways-to-compare-files-on-unix.html '' > C to... A program that goes through the file will not python, so should be available on almost all distributions. Your original script reads in the command used in Unix are cmp, compare two text files and output difference linux, diff etc! Is to add to the output is similar to the comparison the -output -o... Them as well all about it by typing man diff into your terminal text # file. System & # x27 ; diff & # x27 ; s assume that have... Line-By-Line basis comm: with no options, produce three-column output your terminal a list of changes the! Is different is saved as a result, it creates a list of changes in the terminal Ubuntu... A side by side merge of file difference convert file1 into file2 following! First file to match the second file has one extra line Required.! The complete file, the well continue tomorrow when i will talk more! -- exclude-from=FILE Exclude files that are identical, & # x27 ; d like to know them... Whole object the byte and line number where the first and last for. > 1.7 binary files and find the similarities and differences between them the above step add. & amp ; file-2.txt ; compare & quot ; test_file_1.txt & quot ; button the next window summarizes any,! Using MS Word * Open both CSV in notepad or notepad+ files will be on. To ignore the first file to add more files in r ( read ) mode store... File1 file2 examples, let & # x27 ; cmp & # x27 ; ve covered the best based.
Data Sharing In Networking, Giant Inflatable Flamingo, Saving Money Cartoon Pictures, I Built A Robot Girlfriend And This Happened, Kingsman Shop London Savile Row, Abandoned Raf Bases Near Hamburg, ,Sitemap,Sitemap